| Excel97でエラー | 動くように変更 |
| ワークシートとマクロシートがあるファイルを 97で開こうとしたら(95では問題なし)、「この プログラムは不正な処理を行ったので強制 終了されます」で、開けず何が問題か調べ ようがなく困った。 (原因は、下記23-2項の97で実行出来ない ステ−トメントが含まれていた為) |
調べ方: [1]95でワークシートとマクロを分けてファイル [2]97でマクロファイルを読み込む [3]次にワークシートファイルを開き、[2]の ファイルへ[編集]→[シートの移動]で 貼り付ける。 [3]マクロ実行でエラーが出るのでデバック |
| Excel97でエラー | 動くように変更 |
| nam = ActiveSheet.Buttons.Name ActiveSheet.Buttons(nam).Select Selection.Delete 「実行時エラー"438"オブジェクトは、この プロパティまたはメソッドをサポートしてい ますん」。のメッセージ (95では1シ−トボタン1個の場合問題なし) |
ActiveSheet.Buttons.Select nam = Selection.Name ActiveSheet.Buttons(nam).Select Selection.Delete ボタンをSelectし、選んだボタンの名前を 読み取る方法に変えエラー解消 |
| nam = ActiveSheet.TextBoxes.Name ActiveSheet.TextBoxes(nam).Select Selection.Delete (95では1シ−トTextBoxe1個の場合問題なし) 上と同様のメッセージが出る |
ActiveSheet.TextBoxes.Select nam = Selection.Name ActiveSheet.TextBoxes(nam).Select Selection.Delete |
| cnam = ActiveSheet.ChartObjects.Name ActiveSheet.DrawingObjects(cnam).Select ActiveSheet.ChartObjects(cnam).Activate (95では1シ−トChart個の場合問題なし) 上と同様のメッセージが出る |
ActiveSheet.ChartObjects.Select cnam = Selection.Name ActiveSheet.DrawingObjects(cnam).Select ActiveSheet.ChartObjects(cnam).Activate |
| Excel95でエラー | 動くように変更 |
| 95と97で共通に使用するマクロにおいて 97で開いた後、「最新のExcelのファイル 形式に更新しますか」→「いいえ」で保存 しても、マクロの参照に[OLE Automation] が自動的に付く。 OLEのアプリケ−ションが入っていないPC でそのマクロを実行すると、95で問題なく 実行できたマクロが実行出来なくなる。 |
Excel95で再度マクロを開き[ツ−ル]→ [参照設定]で[OLE Automation]のマ−ク を外す |
| Excel97でエラー | 動くように変更 |
| 実際のシ−ト名は全角で「プロセス」なって いたが、マクロでシ−トを指定する時 間違っては半角の「プロセス」にしてあった。 正: Sheets("プロセス").Select 誤: Sheets("プロセス").Select Excel95では全角半角区別なく読み取り正常 に動作したが、97は下記エラ−でストップ 「実行時エラー"9" インデックスが有効範囲にあるません」 |
マクロでシ−トを指定する時、実際のシ−ト 名に合わせ、全角カタカナに直しOK |
| Excel95でエラー | 動くように変更 |
| 95と97で共通に使用するマクロにおいて Excel97のVB Editorでマクロを修正し保存 した場合は、そのマクロをExcel95で実行 しようとすると、 「実行時エラー"1004" ***.xls:ファイル形式が正しくありません」 のエラ−メッセジが出てストップ (マクロは共有ステ−タス使用のケ−ス) |
[1]97からマクロを開き、VB Editorに表示 させ、そのマクロを全部コピ−する [2]95を開き、挿入→マクロ→モジュ−ル でモジ−ルを追加する [3]追加したモジ−ルへ[1]を貼付け [4]名前を付けて保存で、実行出来なくなった ファイルへ上書きする [5]必要に応じて非表示にする (結論:共通で使用する場合は95でマクロ を編集した方がよい) |
| Excel97でエラー | 動くように変更 |
| マクロシート名が半角の「マ」1文字の場合 95では問題ないが、97ではエラーとなる メッセージは: 「&H8007005システムエラーです。 パラメータが正しくありません」 |
「マ」を「マク」又は「マ1」の2文字でOK 「マ」を他の文字「ア」に変えてもOKとなった 「マ」を英文字「M」に変えてもOKとなった 原因は判らないが結論: Excel97と共通に使用するマクロシート名は 英文字にした方がよさそうだ |
| Excel97でエラー | 動くように変更 |
| Dim cen2 As Integer '最終セル2 略 Selection.End(xlDown).Select cen2 = Mid(ActiveCell.Address, 4) 略 途中空白セルのある最終セル読み取りマク ロ(例題:5-5(3)-1)でcen2の所でエラー 「実行時エラー"6" オーバーフローしました」 |
Dim cen2 As Long '最終セル2 95の場合は最終が、"16384"でデータ型 が整数型で問題ないが、97は最終"65536" ではオーバーフローしてしまうので、長整数 型に変えOK |
| Excel97でエラー | 動くように変更 |
| fn = InputBox(msg, "フォルダー名") Excel95では上記でマウスをクリックして セルの指定(セルデ-タ入力)出来たが 97ではインプットボックス関数ではセル 指定不可となった。 |
fn = Application.InputBox(msg, "フォルダー名") InputBoxメソッドに変更しすれは、セル指定で 入力出来ます。 |
| Excel97でエラー | 動くように変更 |
| 「DLL読み込み時のエラ−です」のメッセ−ジ が出て、マクロの入っているExcel95ファイル を開けない。(PCにExcel97をインソ−ルして 95ファイルを実行しようとした時、特定のPC で発生) (マクロの入っていないファイルは問題なし) |
エラ−になるファイルをExcel97で開き95形式で 保存したら動くようになった。 (根本解決法が見つからないが、多分Excel関連 の旧アプりケ−ションを全て消去し再インソ−ル で解決すると思われる:未確認) |
| Excel97でエラー | 動くように変更 |
| オリジナルメニュ−をウインドウズのアイコン から開き実行した時、「このプログラムは不正 な処理を行ったので強制終了されます」の メ−セ−ジで復旧。(Excel95では問題なし) (オリジナルメニュ−をアイコンでなくExcel より開いた場合はKO:特定のPCで発生) |
メニュ−より開くマクロの入ったブックが非表示 になっており、表示に変更で動くようになった。 なお、Excel5.0からExcel95に変えた時非表示 にしたが、結論から言うとExcel97ではなぜか 表示にした方がよいケ−スがありそ-だ。 |






| Excel97でエラー | 動くように変更 |
| dat = iryo's homepage Do ssa = InStr(1, dat, "'", 1) If ssa > 0 Then dat = Mid(dat, 1, ssa - 1) & "’" & Mid(dat, ssa + 1) End If Loop Until ssa = 0 Excel95では全角の[’」になり問題なし。 Excel97・2000では全角[’」と半角の「'」区別無く 識別し上記は無限ル−プになる。 |
dat = iryo's homepage Do ssa = InStr(1, dat, "'") If ssa > 0 Then dat = Mid(dat, 1, ssa - 1) & "’" & Mid(dat, ssa + 1) End If Loop Until ssa = 0 InStr(1, dat, "'", 1)の1を取り全角半角を 区別するようにすればOK Excel95では、['][’]は別な文字として扱って いたが97/2000では大文字・小文字で扱う |